In wireless network resource-restricted devices can be used, such as energy-harvesting devices. Such devices are heavily restricted in the available amount of energy, thus limited in the offered functionality and influencing the network operation, commissioning and maintenance.
One example of such technology is the standard in the making, ZigBee Green Power.
If the restricted device is out of range of the device it is configured to control (referred to as a target), an intermediate device does forward (referred to as a proxy). The wireless links between the proxy and the restricted device may appear and disappear during network lifetime, e.g. due to changes in propagation or in relative location of devices. For system security and performance reasons, the proxies only forward for devices they have a table entry for, e.g. to be able to perform freshness or security check. For communication reliability, preferably more than one proxy does forward on behalf of each restricted device.
There are various ways to establish/extend such proxy entry, automatically or on user request. However, the currently available methods for entry removal require user involvement, via commissioning tool usage and/or manual interaction with the restricted/controller device (potentially installing up in the ceiling), which is cumbersome for large-scale network, such as building automation networks.
However, due to the scale of the network and the automatic proxy table creation, there is a need for automatic proxy table cleaning. However, due to the unforseeable schedule of transmissions by the restricted device (which may be dependent on the amount of available energy and/or user interaction) and the unreliable nature of the wireless transmissions, esp. from the restricted device, potentially not using ACKs and channel access procedures (such as CSMA/CA), simple aging (e.g. Remove entries that will expire soonest, Remove entries that were created earliest, Remove entries that were used least) is not appropriate for the restricted devices.
Right now in the ZGP specification, it is up to the proxy implemented to choose some cleaning heuristics, i.e. to choose heuristics that pick an entry to delete from a full proxy table if a new entry must be added. There can be some level of freedom for proxy implementers, because though bad heuristic reduces network efficiency and reliability, a bad heuristic cannot lead to long-lasting failure of the network.
The object of this invention is to add (mandatory) protocol elements that can be used to improve table cleaning heuristics in proxies. More efficient heuristics will lead to a faster and more reliable network.
In the current ZGP specification there is no performance penalty for proxies having a very full proxy tables: so aggressive cleaning to shrink a table much below the size of the available memory in a proxy has no beneficial effect.
The current ZGP spec offers the following mechanisms for Proxy Table Maintenance.
Proxy Table entry establishment:                in the commissioning process (likely with user involvement), when the target or a commissioning tool sends a control announcement (ZGP: ZGP Pairing command with AddSink flag set to 0b1), informing the proxy(s) about the new control relationship created, incl. the identifier of the restricted device and the corresponding target(s); it can be send in (range-limited) broadcast, with the proxy(s) optionally adding the table only if they are in the range of the limited device, esp. if the device indicates fixed location;        during operation,                    by proxy receiving an unsolicited control announcement;            by proxy receiving communication from an unknown restricted device and seeing other proxy(s) forwarding it            by proxy receiving communication from an unknown restricted device and making a query for control relationships (ZGP: ZGP Pairing Search command or broadcast ZGP Notification command).                        
Proxy Table Entry Removal:                reception of the Decommissioning GPDF from the restricted node in commissioning mode (specially triggered on the restricted node)        reception of a control removal command (ZGP: ZGP Pairing with AddSink flag set to 0b0 or with RemoveZGPD set to 0b1), specially triggered on the target/commissioning tool.        
The following proxy operations are further automatically performed:                upon receiving forwarded communication, the first-to-forward flag is cleared;        upon receiving a request to send to the restricted device (ZGP: ZGP Response) with another proxy being nominated, it clears the first-to-forward flag and removes any packets queued for the delivery to this restricted device.        
A resource restricted device may be for example a ZigBee Green Power Devices (ZGPDs) or the like, which do not have a battery or only small storage capacity and can receive only at unscheduled opportunities. For example, a ZGPD can be a battery-less switch that can only receive for a short time once it is actuated by a user and has transmitted its signal. Another example of a ZGPD is a periodically-reporting sensor, harvesting energy from its environment, e.g. by means of a photovoltaic cell.